package singleton
{
	import components.user_local;
	
	import mx.core.Application;
	import mx.modules.Module;
	
	public class singleton_storage_local extends singleton_storage
	{
		/** constructor **/
		public function singleton_storage_local()
		{
		}

		private static var instance:singleton_storage_local = null;

		public static function singleton():singleton_storage_local
		{
			if (instance == null) 
			{
				instance = new singleton_storage_local();
			}
			return instance;
		}

		/** one could not find another way to keep a reference to the modules, other than one global singleton,
		 * and saving references of the modules after creationComplete to this singleton, quiet some overhead... but atleast it works.
		 * 
		 * somehow (because of Modules inside Popups which are ResizableTitleWindows) it was not possible to use the Module's own.singleton() methos.
		 * (null object was returned instead of reference to instance of module)
		 * **/ 
		private var _TOGETHER:Application = null;

		public function set TOGETHER(TOGETHER_temp:Application):void
		{
			this._TOGETHER = TOGETHER_temp;
		}
		public function get TOGETHER():Application
		{
			return this._TOGETHER;
		}

		private var _MODULE_login:Module = null;

		public function set MODULE_login(MODULE_login_temp:Module):void
		{
			this._MODULE_login = MODULE_login_temp;
		}
		public function get MODULE_login():Module
		{
			return this._MODULE_login;
		}
		
		private var _MODULE_GemeinsamAuswandern:Module = null;

		public function set MODULE_GemeinsamAuswandern(MODULE_GemeinsamAuswandern_temp:Module):void
		{
			this._MODULE_GemeinsamAuswandern = MODULE_GemeinsamAuswandern_temp;
		}
		public function get MODULE_GemeinsamAuswandern():Module
		{
			return this._MODULE_GemeinsamAuswandern;
		}

		private var _MODULE_fileShare:Module = null;

		public function set MODULE_fileShare(MODULE_fileShare_temp:Module):void
		{
			this._MODULE_fileShare = MODULE_fileShare_temp;
		}
		public function get MODULE_fileShare():Module
		{
			return this._MODULE_fileShare;
		}

		private var _MODULE_register:Module = null;

		public function set MODULE_register(MODULE_register_temp:Module):void
		{
			this._MODULE_register = MODULE_register_temp;
		}
		public function get MODULE_register():Module
		{
			return this._MODULE_register;

		}
		private var _MODULE_profile:Module = null;

		public function set MODULE_profile(MODULE_profile_temp:Module):void
		{
			this._MODULE_profile = MODULE_profile_temp;
		}
		public function get MODULE_profile():Module
		{
			return this._MODULE_profile;
		}
		
		private var _MODULE_truth:Module = null;

		public function set MODULE_truth(MODULE_truth_temp:Module):void
		{
			this._MODULE_truth = MODULE_truth_temp;
		}
		public function get MODULE_truth():Module
		{
			return this._MODULE_truth;
		}
		
		private var _MODULE_carRepair:Module = null;

		public function set MODULE_carRepair(MODULE_carRepair_temp:Module):void
		{
			this._MODULE_carRepair = MODULE_carRepair_temp;
		}
		public function get MODULE_carRepair():Module
		{
			return this._MODULE_carRepair;
		}
		
		private var _MODULE_communication:Module = null;
		
		public function set MODULE_communication(MODULE_communication_temp:Module):void
		{
			this._MODULE_communication = MODULE_communication_temp;
		}
		public function get MODULE_communication():Module
		{
			return this._MODULE_communication;
		}
		
		private var _MODULE_mutualHelp:Module = null;
		
		public function set MODULE_mutualHelp(MODULE_mutualHelp_temp:Module):void
		{
			this._MODULE_mutualHelp = MODULE_mutualHelp_temp;
		}
		public function get MODULE_mutualHelp():Module
		{
			return this._MODULE_mutualHelp;
		}

		private var _MODULE_healthRecord:Module = null;
		
		public function set MODULE_healthRecord(MODULE_healthRecord_temp:Module):void
		{
			this._MODULE_healthRecord = MODULE_healthRecord_temp;
		}
		public function get MODULE_healthRecord():Module
		{
			return this._MODULE_healthRecord;
		}

		private var _MODULE_activism:Module = null;
		
		public function set MODULE_activism(MODULE_activism_temp:Module):void
		{
			this._MODULE_activism = MODULE_activism_temp;
		}
		public function get MODULE_activism():Module
		{
			return this._MODULE_activism;
		}

		private var _MODULE_transport:Module = null;
		
		public function set MODULE_transport(MODULE_transport_temp:Module):void
		{
			this._MODULE_transport = MODULE_transport_temp;
		}
		public function get MODULE_transport():Module
		{
			return this._MODULE_transport;
		}

		private var _MODULE_answers:Module = null;
		
		public function set MODULE_answers(MODULE_answers_temp:Module):void
		{
			this._MODULE_answers = MODULE_answers_temp;
		}
		public function get MODULE_answers():Module
		{
			return this._MODULE_answers;
		}

		private var _MODULE_findFriends:Module = null;
		
		public function set MODULE_findFriends(MODULE_findFriends_temp:Module):void
		{
			this._MODULE_findFriends = MODULE_findFriends_temp;
		}
		public function get MODULE_findFriends():Module
		{
			return this._MODULE_findFriends;
		}

		private var _MODULE_teamProject:Module = null;
		
		public function set MODULE_teamProject(MODULE_teamProject_temp:Module):void
		{
			this._MODULE_teamProject = MODULE_teamProject_temp;
		}
		public function get MODULE_teamProject():Module
		{
			return this._MODULE_teamProject;
		}

		private var _MODULE_insurance:Module = null;
		
		public function set MODULE_insurance(MODULE_insurance_temp:Module):void
		{
			this._MODULE_insurance = MODULE_insurance_temp;
		}
		public function get MODULE_insurance():Module
		{
			return this._MODULE_insurance;
		}
		
		private var _MODULE_about:Module = null;

		public function set MODULE_about(MODULE_about_temp:Module):void
		{
			this._MODULE_about = MODULE_about_temp;
		}
		public function get MODULE_about():Module
		{
			return this._MODULE_about;
		}

		/** list of all projects **/
		private var _projects:Array = null;

		public function set projects(projects_temp:Array):void
		{
			this._projects = projects_temp;
		}
		public function get projects():Array
		{
			return this._projects;
		}
		
		/** list of all discussions **/
		private var _discussions:Array = null;

		public function set discussions(discussions_temp:Array):void
		{
			this._discussions = discussions_temp;
		}
		public function get discussions():Array
		{
			return this._discussions;
		}
		
		/** all incoming messages (on like offline messages) will be temporarily saved here **/
		private var _IncomingPost:Object = {online:new Array(),offline:new Array()};

		public function set IncomingPost(IncomingPost_temp:Object):void
		{
			this._IncomingPost = IncomingPost_temp;
		}
		public function get IncomingPost():Object
		{
			return this._IncomingPost;
		}

		/** all outgoing messages (on like offline messages) will be temporarily saved here **/
		private var _OutgoingPost:Object = {online:[{}],offline:new Array()};

		public function set OutgoingPost(OutgoingPost_temp:Object):void
		{
			this._OutgoingPost = OutgoingPost_temp;
		}
		public function get OutgoingPost():Object
		{
			return this._OutgoingPost;
		}
		
		// temp storage for user informations
		private var _USER_LOCAL:user_local = null;
		
		public function set USER_LOCAL(USER_temp:user_local):void
		{
			this._USER_LOCAL = USER_temp;
		}
		public function get USER_LOCAL():user_local
		{
			return this._USER_LOCAL;
		}
	}
}